package com.qikecn.utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;

import cn.geekapp.utils.StringUtils;

public class RegularUtil {
	
	/**
	 * 检测id是否合法，防止sql注入
	 * @param id
	 * @return
	 */
	public static boolean testId(String id){
		if(!StringUtils.isEmpty(id)){
			if(id.matches("[0-9,a-z,A-Z,_,\\-,\\,]{1,128}")){
				return true;
			}
		}
		return false;
	}
	
	/**
	 * 过滤特殊字符
	 * @param str
	 * @return
	 * @throws PatternSyntaxException
	 */
	public static String stringFilter(String str) throws PatternSyntaxException {
		// 只允许字母和数字 // String regEx ="[^a-zA-Z0-9]";
		// 清除掉所有特殊字符
		String regEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~！@#￥%……&*（）——+|{}【】‘；：”“’。，、？]";
		Pattern p = Pattern.compile(regEx);
		Matcher m = p.matcher(str);
		return m.replaceAll("").trim();
	}
	
	public static void main(String[] args) {
		System.out.println(stringFilter("char (100) ,./';[] "));
	}
	
}
